
.flex {
    display: flex;
}

a {
    cursor: pointer;
}

a:hover {
    transition: color .3s ease-in 0s;
    color: #3a8ee6;
}

.jc-c {
    justify-content: center;
}

.jc-start {
    justify-content: start;
}

.jc-end {
    justify-content: end;
}

.ai-c {
    align-items: center;
}


.flexD-col {
    flex-direction: column;
}

.disappear {
    transition: opacity ease 0.8s;
    opacity: 0;
}

.font-small {
    font-size: 12px;
}

.slide-init-slow {
    transition: all 1500ms cubic-bezier(0.28, 0.69, 0.52, 0.93);
    opacity: 0;
    transform: translateY(2rem);
}

.slide-init-normal {
    transition: all 800ms cubic-bezier(0.28, 0.69, 0.52, 0.93);
    opacity: 0;
    transform: translateY(4rem);
}

.slide-init-faster {
    transition: all 500ms cubic-bezier(0.28, 0.69, 0.52, 0.93);
    opacity: 0;
    transform: translateY(4rem);
}

.slide-in {
    opacity: 1;
    transform: translateY(0);
}

.slide-out {
    opacity: 0;
    transform: translateY(110%);
}

.appear {
    opacity: 1;
    display: block;
}

.slide {
    opacity: 1;
}

.SPadding {
    padding: 10% 10%;
}

@keyframes move-waves {
    0% {
        -webkit-transform: translate3d(-90px, 0, 0);
        transform: translate3d(-90px, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(85px, 0, 0);
        transform: translate3d(85px, 0, 0);
    }
}

@keyframes removeCover {
    0% {
        height: 100%;
    }

    100% {
        height: 0%;
    }
}

html, body, p, ul, li, img {
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    /*overflow-x: hidden;*/
    font-family: Urbanist, sans-serif;
}

body {
    min-width: 750px;
    position: relative;
    font-family: Urbanist, Noto Sans JP, "Helvetica Neue", Helvetica, Arial, "\30D2\30E9\30AE\30CE\89D2\30B4   ProN W3", "Hiragino Kaku Gothic ProN", "\30E1\30A4\30EA\30AA", Meiryo, sans-serif;
!important;

}

a, p {
    color: #1d384a;
    display: inline-block;
    text-decoration: none;
    font: inherit;
}

ul, li {
    list-style: none;

}

.main section {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.container {
    height: 100vh;
}


/* loading部分 */

/* region */

#loading {

    width: 100vw;
    height: 100vh;
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 100;

}

#loading .content {
    text-align: center;
    margin: auto;
    padding-top: 39vh;
    width: 60vw;
    display: flex;
    flex-direction: column;
    font-size: small;
}

#loading .wave-box {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0rem;
    left: 0;
    background-color: rgba(2, 158, 235);
    transform: translateY(0);
    transition: transform cubic-bezier(0.35, 0.07, 0.34, 0.76) 2s;
}

#loading .run {
    transform: translateY(110%);
}

#loading .wave-box .waves {
    width: 100%;
    height: 10vh;
    position: absolute;
    top: -4rem;
}


#loading .wave-box .parallax > use {
    -webkit-animation: move-waves 10s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
    animation: move-waves 10s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}


#loading .wave-box .parallax > use:nth-child(1) {
    animation-delay: 0s;
    animation-duration: 3s;
    /*animation-duration: 10s;*/
}

#loading .wave-box .parallax > use:nth-child(2) {
    animation-delay: -7s;
    animation-duration: 7s;
    /*animation-duration: 12s;*/
}

#loading .wave-box .parallax > use:nth-child(3) {
    animation-delay: -5s;
    animation-duration: 9s;
    /*animation-duration: 20s;*/
}

#loading .wave-box .parallax > use:nth-child(4) {
    animation-delay: -3s;
    /*animation-duration: 15s;*/
    animation-duration: 9s;
}

/* endregion */

/* header头部 */
header {
    position: absolute;
    right: 0;
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    /* margin: 1rem 0; */
}

header .nav_box {
    display: flex;
    margin-top: 2rem;
    margin-right: 5rem;
}

header .nav_box .nav {
    display: flex;
}


header .nav_box .nav li {
    cursor: pointer;
    font-weight: bold;
    font-size: 1.1rem;
    margin: 0rem 1rem;
}

header .nav_box * {
    opacity: 0;
    transition: opacity 3000ms ease;
    transition-delay: 1000ms;
}


header .nav_box.slide * {
    opacity: 1;
}

header .nav_box .news {
    margin-left: 0.5rem;
}


header .menu_button {
    display: none;
}


/* 标题NOW ON SALE与其动画 */

/* region */

#text_2 {
    display: none;
}

.fv {
    /*min-width: 1080px;*/
    width: 100%;
    height: 100vh;
    /*position: absolute;*/
}

.fv .fv_text {
    width: 16vw;
    height: 15vh;
    position: absolute;
    top: 5rem;
    left: 4rem;
    z-index: 1;
}

.fv .fv_text .text {

    width: 100%;
    position: relative;
    top: 0rem;

}


.fv .fv_text .text g path {
    opacity: 0;
    transform: translateY(60%);
}

.fv .fv_text.slide_fv_text .text g path {
    transition: all 800ms cubic-bezier(0.28, 0.69, 0.52, 0.93);
    opacity: 1;
    transform: translateY(0);
}


/* PERSONA3 RELOAD */
.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(1) {
    transition-delay: calc(1.5s + 1 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(2) {
    transition-delay: calc(1.5s + 2 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(3) {
    transition-delay: calc(1.5s + 3 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(4) {
    transition-delay: calc(1.5s + 4 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(5) {
    transition-delay: calc(1.5s + 5 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(6) {
    transition-delay: calc(1.5s + 6 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(7) {
    transition-delay: calc(1.5s + 7 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(8) {
    transition-delay: calc(1.5s + 8 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(9) {
    transition-delay: calc(1.5s + 9 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(10) {
    transition-delay: calc(1.5s + 10 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(11) {
    transition-delay: calc(1.5s + 11 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(12) {
    transition-delay: calc(1.5s + 12 * 40ms);
}


.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(13) {
    transition-delay: calc(1.5s + 13 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(14) {
    transition-delay: calc(1.5s + 14 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(1) path:nth-child(15) {
    transition-delay: calc(1.5s + 15 * 40ms);
}

/* NOW ON SALE */
.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(1) {
    transition-delay: calc(1.5s + 1 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(2) {
    transition-delay: calc(1.5s + 2 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(3) {
    transition-delay: calc(1.5s + 3 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(4) {
    transition-delay: calc(1.5s + 4 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(5) {
    transition-delay: calc(1.5s + 5 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(6) {
    transition-delay: calc(1.5s + 6 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(7) {
    transition-delay: calc(1.5s + 7 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(8) {
    transition-delay: calc(1.5s + 8 * 40ms);
}

.fv .fv_text.slide_fv_text .text g:nth-child(2) path:nth-child(9) {
    transition-delay: calc(1.5s + 9 * 40ms);
}

/* endregion */


.fv_movie {
    /*width: 100%;*/
    position: relative;
    /* height: 115vh; */
    height: 100vh;
    overflow: hidden;
}

.fv_movie .movie-box {
    /* height: 100%; */
    position: absolute;
    bottom: 0;

    overflow: hidden;
}

.fv_movie .movie-box-position {
    z-index: -1;
}

.fv_img {
    transition: opacity 3s ease;
    transition-delay: 1000ms;
    position: absolute;
    top: 18rem;
    right: 21rem;
    z-index: 5;
    width: 23rem;
    opacity: 0;
}

.slide.fv_img {
    opacity: 1;
}

.fv_scroll {
    height: 4rem;
    transition: opacity 3s ease;
    transition-delay: 1000ms;
    position: absolute;
    /*top: 41rem;*/
    /*left: 45rem;*/

    bottom: 8%;
    left: 50%;
    color: white;
    font-size: small;
    font-weight: lighter;
    opacity: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

.slide.fv_scroll {
    opacity: 1;
}

.fv_scroll .scroll {
    animation: move-scroll 2s cubic-bezier(0.4, 0, 1, 1) infinite;
    transform: translateY(10%);
    width: 0.05rem;
    height: 2rem;
    background-color: #fff;

}

@keyframes move-scroll {
    0% {
        opacity: 0;
        height: 0rem;
        transform: translateY(-80%);
    }
    50% {
        opacity: 1;
        height: 2rem;
        transform: translateY(0%);
    }

    100% {
        opacity: 0;

        transform: translateY(100%);
    }
}


.playTrailer {
    width: 100%;
    position: relative;
    height: 25%;
    cursor: pointer;
    background-color: #dce9f5;
    transition: all 0.5s ease;

}

.playTrailerText {
    position: absolute;
    top: 50%;
    left: 48%;
}

#fv_rightArrowhead {
    position: absolute;
    top: 49%;
    left: 54%;
    transition: all 0.5s ease;
}

#fv_rightArrowhead.move {
    left: 54.5%;
}

.playTrailer:hover {
    background-color: #034572;

}

/* nav 遮罩层 */
/* region*/
.feature-modals {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 117vh;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 1;
    z-index: 995;
    transition: all 1s ease-out;
}

.feature-modals > div {
    z-index: 996;
}

.feature-modals #modal-wave {
    position: absolute;
    top: -7.5rem;
}

.feature-modals .modal-nav {
    /* background-color: rgba(197, 34, 34, 0.24); */
    height: 100%;
    flex-basis: 10%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 1s ease;
    transition-delay: .2s;
    top: 1rem;
    opacity: 0;
}

.feature-modals .modal-nav > a {
    display: inline-block;
    margin-left: 2rem;
    font-weight: lighter;
    color: #1d384a;
    font-size: 1rem;
    padding: 1rem 0;
}

.feature-modals .modal-nav .select {
    font-weight: normal;

}

/* 主体展示�? */
.feature-modals .modal-contents {
    min-height: 100vh;
    flex-basis: 90%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.feature-modals .contents-container {
    flex-basis: 90%;
    height: 100%;
    display: flex;
    flex-direction: column;
    /*overflow-y: auto;*/
}


.feature-modals .contents-container .modal-contents {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    opacity: 1;
    transition: all 0.3s ease-in;
}


.feature-modals .modal-contents .modal-img {
    flex: 1;

}

.feature-modals .contents-container .modal-contents .top, .modal-img > div {
    position: relative;
    top: 1rem;
    opacity: 0;
    transition: all 0.3s ease-in;

}

/*.feature-modals .contents-container .modal-contents .modal-img>div {*/
/*    opacity: 0;*/
/*    transition: opacity 1s ease;*/
/*}*/

.feature-modals .modal-contents .modal-img {
    display: flex;
    justify-content: space-around;
}

.feature-modals .modal-contents .modal-img div {
    width: 50%;
}

.feature-modals .modal-contents .top {
    margin-top: 2rem;
    display: flex;
    flex-wrap: nowrap;
}

.feature-modals .modal-contents .top .top-left {
    position: relative;
    height: 100%;
    justify-content: center;
    min-width: 20%;
}

.feature-modals .modal-contents .top .top-left:after {
    border: 1px solid black;
    content: "";
    position: absolute;
    top: 0rem;
    right: 0rem;
    /* width: 1rem; */
    height: 100%;

}


.feature-modals .modal-contents .top .top-right {
    margin-left: 2rem;
    display: flex;
    align-items: center;
}

.feature-modals .modal-contents .top .top_title {
    width: 10rem;
    height: 5rem;
    overflow: visible;
}

.feature-modals .shutDown {
    position: absolute;
    top: 1rem;
    right: 1rem;
    cursor: pointer;
    z-index: 1000;
}

/* endregion */

/*BuyNow*/
.buyNow-container {

}

.buyNow-container .img-margin {
    margin-top: 1.5%
}

.buyNow-container .contents {
    border-bottom: 1px #eeeeee solid;
    padding-bottom: 5%;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.buyNow-container .contents .limited-box {
    width: 100%;
    padding: 4% 0;
    display: flex;
    justify-content: center;
}

.buyNow-container .contents .limited-box > span {
    width: 50%;
    background-color: #d3d1d1;
    text-align: center;
    font-size: 30px;
    color: #1d384a;
    font-weight: bolder;
    line-height: 4.5rem;
}

.buyNow-container .contents .limited-box > span:hover {
    background-color: #1d384a;
    color: white;
}

.buyNow-container .buy-now {
    width: 100%;
    display: flex;
    justify-content: center;
}

.buyNow-container .buy-now #buynow-text {
    width: 40%;

}

.buyNow-container .box-version-contents {
    display: flex;
    justify-content: space-between;
}

.buyNow-container .box-version-contents .left {
    flex: 0.5;

}


.buyNow-container .left > p {
    font-size: small;
    color: #1d384a;
    padding: 1% 0;
}

.attention-a {
    color: #1d384a;
    font-weight: bold;
    text-decoration: underline 1px solid #1d384a;
}

.attention-ul {
    display: grid;
    grid-template-rows: 0fr;
    height: 0%;
    transition: all 0.5s ease-out;
}

.attention-ul-slide {

    grid-template-rows: 1fr;
}


.buyNow-container .box-version-contents .right {
    flex: 0.48;
}

.buyNow-container .box-version-contents .right .right-item {
    height: auto;
    border-bottom: 1px solid #eee;
}

.buyNow-container .box-version-contents .right .right-item .title {
    font-size: large;
    font-weight: bold;
    line-height: 3rem;
    display: flex;

    justify-content: space-between;
}

.buyNow-container .box-version-contents .right .right-item .title .subtract {
    display: none;
}

.buyNow-container .package {
    border-bottom: 1px #eeeeee solid;
    display: flex;
    flex-direction: column;
    padding: 5% 0;
    width: 100%;

}

.buyNow-container .package .box {
    width: 50%;
    justify-content: space-between;
}

.buyNow-container .package .item-package-text {
    width: 50%;
}

.buyNow-container .package .item-package-text .textImg1 {
    width: 50%;
}

.buyNow-container .package .item-package-text .textImg2 {
    width: 100%;
}

.buyNow-container .package .item-package-text .textImg2 {
    width: 100%;
}

.buyNow-container .package .good-list {
    width: 70%;
    padding: 4% 0;
}


.buyNow-container .extra {
    border-bottom: 1px #eeeeee solid;
    display: flex;
    flex-direction: column;
    padding: 5% 0;
    width: 100%;
    border-bottom: 0;

}


.buyNow-container .extra .song {
    margin: 8% 8% 0;

}


.DLC {
    padding: 10%;
    background-color: rgb(229, 238, 246);
    color: #1d384a;
}

section.story {
    background-color: rgb(192, 213, 232);
    color: #1d384a;
    padding: 8% 0 0;

}

section.story > div {
    width: 100%;
    margin-bottom: 5%;
    /*justify-content: space-between;*/
}

section.story .text {
    margin-left: 1%;
}

section.story .text .title {
    width: 60%;
}

section.story .text .more-btn {
    width: 60%;
}

section.story .introduction .introduction-img {
    flex: 0.55;

    background: url("../img/introduction.png") center top no-repeat;
}

.story-img {
    width: 100%;
    height: 30rem;
    position: relative;

    transform: translateY(0) !important;
    background-size: auto 100% !important;
}

.story-img.slide-in:before {
    animation: removeCover 0.5s linear 0.5s both;;
}

.story-img:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff;
}

section.story .feature .feature-img {
    flex: 0.47;

    background: url("../img/features.png") center top no-repeat;
}

section.story .game-system .game-system-img {
    flex: 0.55;

    background: url("../img/game_system.jpg") center top no-repeat;
}

section.story .shutiao {
    height: 4rem;
    width: 1px;
    margin-bottom: 1%;
    border-left: 1px solid black;
}

#RELOAD path {
    fill: none;
    stroke: #1d384a;
    stroke-miterlimit: 10;
    stroke-width: 2px;
    transform: translateY(0) !important;
}

#RELOAD path.slide-in {
    opacity: .1;
}

section.character {
    justify-content: start;
    height: 1178%;
    overflow-x: hidden;
    position: relative;
}

.character-container {
    width: inherit;
    overflow: hidden;
    height: 100vh;
    display: flex;
    padding-right: 24%;
    transition: background-color 0.5s ease 0.2s;
    background-color: rgb(91, 164, 215);
}

.character-container > li {
    /*box-sizing: content-box;*/
    /*min-width: 50%;*/
    padding: 1% 0%;
    display: flex;
    height: 100%;
}

.character-container .text {
    /*60rem*/
    /*align-items: center;*/
    padding-left: 10rem;
    width: 40rem;
    display: flex;
    margin-right: 10rem;
    flex-direction: column;
    justify-content: center;
}

.character-container .text.double {
    /*90rem*/
    padding-left: 15rem;
    width: 60rem;
    display: flex;
    margin-right: 15rem;
    flex-direction: column;
    justify-content: center;
}


.character-container .text .chara-text {
    margin: 10% 0 0;
    display: flex;
    flex-direction: column;

}

.character-container .text .chara-text p {
    margin: 5% 0 0;
    color: #eeeeee;
}

.character-container .imgs {
    /*flex: .5;*/
    display: flex;
}

.character-container .imgs p {
    vertical-align: text-top;
    display: flex;
}

.character-container .imgs img {
    /*45rem*/
    width: 33rem;
    /*height: 100%;*/
}

.character-container .imgs li {
    padding: 0 5rem;
    display: flex;

    flex-direction: column;
}

.character-container .imgs li div {
    height: 100%;
    position: relative;
    overflow: hidden;
}

.character-container .imgs li .img_on {
    z-index: 9;
    opacity: 0;
    position: absolute;
    transition: all 1s ease 0s;
    top: 0;
    left: 0rem;
}

.character-container .imgs li .img_on.active {
    opacity: 1 !important;

}

section.character .cls-1 {
    fill: #eeeeee;
}

footer.footer {
    display: flex;
    flex-direction: column;
    padding: 3% 8%;
    height: 60%;
    font-size: 14px;
    color: #6c747a;
    background-color: #FFFFFF;
}

.footer .top {
    color: #6c747a !important;
    padding: 1% 0;
}

.footer .top > div {
    display: flex;
    flex-direction: column;
}

.footer .top .LOGO {
    padding: 2% 0 0 1%;
    position: relative;
    flex: 0.1;
    display: flex;
    justify-content: end;
}

.footer .top > div .img-logo {
    margin: 0 5rem 0 0;
    height: 80%;
}

.footer .top .SPEC {
    flex: 0.6;
}

.footer .top .SPEC li {
    width: 100%;
    padding-top: 1%;

}

.footer .top .SPEC li span:nth-child(1) {
    display: inline-block;
    width: 9rem;
    margin-right: 2rem;
}

.footer .top .SPEC li span:nth-child(2) {
    white-space: nowrap;
}

.footer .top .LINKS {
    padding-left: 2%;
    flex: 0.15;
}

.footer .top .LINKS a {
    padding-top: 7%;
}

.footer .top .SHARE {
    flex: 0.1;
}

.footer .top .title {
    font-weight: bold;
    font-style: italic;
    margin-bottom: 2rem;
    font-size: 20px;
}


/*  背景波浪 */
.background-container {
    z-index: 995 !important;
    position: absolute;
    width: 100%;
    height: 50%;
    bottom: 0;

}

.background-container .wave {
    width: 100%;
    position: relative;
    top: 2rem;
    left: 0rem;
}

.background-container .wave-bgc {
    background-color: #e4edf5;
    width: 100%;
    height: 100%;
}

.open {

    top: 0;
}

.font-white {
    color: #ffffff;
}
